iT邦幫忙

2024 iThome 鐵人賽

DAY 5
0
佛心分享-刷題不只是刷題

一直刷 CTF系列 第 5

一直刷 CTF - Day5

  • 分享至 

  • xImage
  •  

前言

本日進度:

Writeup

第一題:convertme.py

就單純把數字轉成二進位就結束了

Image

第二題:Codebook

就把檔案下載執行,就結束了

Image

第三題:Magikarp Ground Mission

按照指示連進 ssh 然後就一一把檔案 cat 出來最後組在一起就是 flag 了

Image

第四題:Tab, Tab, Attack

用 tab 移動到 flag 的位置,然後執行就有 flag 了

Image

第五題:Wave a flag

把檔案下載之後,先用 chmod 讓他可以執行,在按照指示在後面加上 -h 的參數就可以得到 flag 了

Image

第六題:Python Wrangling

就看一下他程式碼,按照他加解密的方式把他給的密文和密鑰丟進去解就是答案了

Image

上課紀錄

What is web?

google 搜尋背後做了甚麼

Image

OSI 模型的七層都是可以打的,但今天只會著重在第七層,也就是 Application layer 的打法

Image

分類

  1. 前端 (Frontend)
    • 瀏覽器 (Browser)
    • Language:HTML、CSS、JavaScript
    • Framework:Vue.js、React.js、jQuery...
    • Client:Chrome、Firefox、Safari、Edge...
    • 攻擊方法:XSS、CSS Injrection、prototype pollution、DOM Clobbering...
  2. 後端 (Backend)
    • 伺服器 (Server)
    • Language:Python、PHP、C ...
    • Framework:Flask、Larabel、gin...
    • Server:Apache、Nginx、Gunicore...
    • 攻擊方法:LFI、Command Injection、SQL Injection、Serialization、SSTI、SSRF...

前端會向後端發 request,後端會回傳 response

HTTP Request

POST /cgi-bin/process.cgi HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE5.01; Windows NT)
Host: example.vincent55.tw
Content-Type: application/x-www-form-urlencoded
Content-Length: length
Accept-Language: en-us
Accept-Encoding: gzip, deflate
Connection: Keep-Alive

licenseID=string&content=string

HTTP Response

HTTP/1.1 200 OK
Date: Day, 00 OOO 6666 11:11:11 TTT
Content-Type: text/html

<!doctype html>..

HTTP status : 2開頭是成功,3開頭是重新導向,4開頭是客戶端錯誤,5開頭是伺服器錯誤

Fronted roadmap

Image

Backend roadmap

Image

學習曲線

Web security 是資安裡面最容易入門的領域?

因為我們對 Web 最熟悉,所以上手最快,但學到一定階段之後就會逐間趨緩,需要靠經驗累積和漏洞靈敏度去找漏洞

Image

Why Web Security? (為甚麼要學 Web Security?)

  • 今年的金盾獎得獎名單可以透過改後面的數字在公告時間前就拿到 owo

    Image

  • 出去玩~

    Image

  • 賺錢錢 - Bug Bounty
    而且其實 Bug Bounty 是在比耐心和漏洞的靈敏度,難度不會比 CTF 高

    Image

  • Pwn2Own

    Image

  • Hacking Moodle 點名

    Image

    點名密碼有八碼很難爆破

    Image

    但 qrpass 是一個 1000~9999 的數字,所以是可爆破的

    Image

Image

Web Base

  • HTML -> 骨架
  • CSS -> 皮膚
  • JavaScript -> 會動了

Image

  • Cookie
    Image
    Image

    這樣就取得管理員權限了 owo
    好用的 Cookie extension

  • Session vs. Cookie
    剛剛改 Cookie 會直接變 admin 這樣太不安全了,其中一個解決的方法就是用 Session ID 來辨識身分,把 Data 存在 Server 上 (Session Data), Cookie 只有包含 Session ID,用 Session ID 去查找,就不會有問題了
    Image

    SessionID 的產生方式跟前面說的一樣,通常會是一個無法猜測的亂數。你可能會想說:「很難猜是一回事,但機率不是 0 阿!」,對,的確是有機率能夠猜到,但是那個機率太低太低了(例如說幾千億分之一之類的)。而且 Server 在你亂猜猜錯幾次之後就有可能把你 ban 掉不讓你繼續猜,所以沒什麼問題。
    不過這邊要特別注意的一點是 SessionID 基本上是種認證不認人的方式,也就是說一旦你的 SessionID 被偷走,別人就可以偽造你的身份來登入了。而這個 SessionID 通常都是保存在 Cookie 之中。
    這就是為什麼有些網站發生駭客入侵的情形之後你會突然被登出,因為駭客可能偷到一批 SessionID,這時候伺服器就會把所有 Session 資料全部清空,以故事來比喻就是把筆記本丟掉,買一本新的,這樣被偷走的那些 SessionID 就沒用了,而 Server 找不到你的 SessionID,自然就無法登入,因此把你給登出了。
    網站發生問題時客服會要你先把 Cookie 清掉也是類似的道理,因為 Cookie 跟狀態有關,有時候可能程式有一些 bug,把你導到了錯誤的狀態,把 Cookie 清空等於把狀態清空,重新再開始,就有可能變得正常。
    by 白話 Session 與 Cookie:從經營雜貨店開始

    (或是把 cookie 的資訊加密 (Cookie-based session) ,只有 server 知道怎麼解密,這樣也能夠保護,但缺點就是 cookie 的長度是有限制的,太大瀏覽器就不幫你存了,或是哪天加密方式被破解,那就一樣會被偽造了)

  • Lab - Cookie

    跟昨天改 cookie 的那題很像,而且甚至不需要一個個猜,就把 cookie 改成 cookie_monster 就好了,阿但 Lab 關了我沒辦法是 qaq

    Image

  • hash

    • 不一樣的東西 hash 之後會不一樣,一樣的 hash 之後會一樣
    • 不可逆,不能從 hash 值反推原本的東西
    • 常見的 hash function: md5(不安全), sha1(不安全), sha256(目前常用的)...
    • hash collision: 兩個不一樣的東西 hash 之後一樣,這就是不安全的 hash
  • Encoding

    Image

  • 常見的 encode function: base64, urlencode...

  • Tools:

    • F12: Developer Tools

    • curl: 可以用來發送 http request 的工具

      Image

    • Cheatsheet

  • Lab - Redirect (題目關了🥲)

    • 這題式按下 Get flag 之後會跳到一個某個網址,但又會馬上轉回來,所以就只要開發者工具打開 Network 看按下去之後轉址去了哪,然後用 curl 把內容抓下來就可以了

    Image
    Image

  • Lab - ShibaShop (題目關了🥲)

    • 先隨便買一個東西,然後把 buy 的金額改成負的,這樣錢就就會變多,再找到 flag 購買的地址,就可以買 flag 了,然後 flag 就出來了 \owo/
  • 怎麼打
    Image

    Image
    Error message 可以看 404 頁面
    好用插件

參考資料


上一篇
一直刷 CTF - Day4
下一篇
一直刷 CTF - Day6
系列文
一直刷 CTF30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言